On Weaving Aspects
نویسنده
چکیده
Object-oriented software systems that are developed using aspect-oriented programming techniques consist of classes and aspects. Classes implement the primary functionality of an application, for example, managing stocks or calculating insurance rates. Aspects, on the other hand, capture technical concerns like persistence, failure handling, communication, or process synchronization. They are written in special aspect description languages [5]. Common to all aspect languages is that they cannot be processed by today's compilers for object-oriented programming languages. Until that changes, aspects have to be merged with classes before a compiler can take over to produce the executable program. The process of merging is called weaving; the tool required is named Aspect Weaver. There are two ways in which classes and aspects can be woven: static or dynamic. This paper examines both weaving techniques in more detail. Section 2 works out the advantages and disadvantages of static weaving and argues why dynamic weaving is preferable for some aspects. Section 3 presents an Aspect Weaver that weaves aspects dynamically. The paper concludes with an evaluation of this Weaver.
منابع مشابه
Run-Time and Atomic Weaving of Distributed Aspects
Run-time weaving of distributed aspects, if performed without any support for atomicity, endangers the global behavioral integrity of the application. Existing aspect-oriented middleware supports runtime weaving of distributed aspects, without addressing this problem. This inherently limits the type of behavioral changes that can be performed at run-time. This paper presents a model and an arch...
متن کاملModeling and Aspect Weaving
A model is a simplified representation of an aspect of the world for a specific purpose. Complex systems typically give rise to more than one model because many aspects are to be handled. For software systems, the design process can be characterized as a (partially automated) weaving of these aspects into a detailed design model. While validation is usually feasible on each single aspect when i...
متن کاملDetection and Resolution of Weaving Interactions
Jointly deployed aspects may interact with each other. While some interactions might be intended, unintended interactions (interferences) can break a program. Detecting and resolving interferences is particularly hard if aspects are developed independently, without knowledge of each other. Work on interference detection has focused so far on the correctness of weaved programs. In this paper we ...
متن کاملAn Aspect-Oriented Middleware Architecture for Run-time and Atomic Weaving of Distributed Aspects
There is an increasing need for dynamic and context-sensitive adaptation of distributed applications in order to dynamically cope with evolving requirements of the usage context. To support dynamic and context-sensitive adaptation, we propose an aspect-oriente architecture that weaves and unweaves aspects at run-time on demand of the usage context. The goal of this report is to explore and solv...
متن کاملProofs of the convergence of the rewriting system for the weaving of aspects in the AO - PFA language ∗
AO-PFA is an aspect oriented feature modelling language. This report discusses several theoretical issues regarding the weaving process of AO-PFA. The weaving of aspects is to extract subterms from product family terms in the base specification, and then to replace the extracted subterm (selected join points) by another term (advice). The problem of extracting a subterm from another term is rel...
متن کامل